<?php

namespace app\common\job;

use app\common\traits\JobRetryTraits;
use think\queue\Job;

/**
 * 测试
 * Class Test
 * @package app\common\job
 */
class Test
{
    use JobRetryTraits;

    /**
     * fire是消息队列默认调用的方法
     * @param Job $job 当前的任务对象
     * @param array|mixed $data 发布任务时自定义的数据
     */
    public function fire(Job $job, $data)
    {
        //1. 睡10秒，然后重试
        sleep(10);

        $this->retryUntilMaxAttempts($job, 24, fn($attempts) => min($attempts, 3) * 3600, '消费队列：测试重试达到最大次数');
    }

}
